MSSQL NAL SINAVI ÇALIŞMA KONULARI (ARA SINAV KONULARINA EK OLARAK)
󱟩󱟪󱟫󱟬󱟭󱟮󱟯󱟰 View Nedir? (DERSTEKİ SUNUMA EK OLARAK. AYRICA SUNUMDAN DA
SORUMLUSUNUZ!!!)
View (Görünüm), bir veya birden fazla tablodan veri çekmek için oluşturulan sanal bir
tablodur. Gerçek bir tablo değildir; içinde veri barındırmaz. Ancak bir tablo gibi
sorgulanabilir.
Avantajları:
Karmaşık sorguları basitleştirir.
Güvenliği artırır (kullanıcının görmesini istemediğiniz kolonları gizleyebilirsiniz).
Kod tekrarını azaltır.
Raporlama işlemlerinde kolaylık sağlar.
MSSQL DE TRANSACTION
MSSQL'de TRANSACTION (işlem) konusu, bir grup SQL sorgusunun bir bütün olarak
çalışmasını sağlamak için kullanılır. Yani bu sorgular ya tamamı başarılı olur ve
veritabanına kalıcı olarak uygulanır, ya da herhangi biri başarısız olursa tümü geri
alınır (rollback). Bu, özellikle para transferleri, sipariş işlemleri gibi kritik durumlarda
veri tutarlılığını korumak için önemlidir.
Temel Komutlar
BEGIN TRANSACTION: İşlemi başlatır.
COMMIT: Tüm işlemleri kalıcı hale getirir.
ROLLBACK: İşlem başarısızsa yapılan her şeyi geri alır.
Bu işlemde, A kişisinden para çekilip B kişisine aktarılıyor. Her iki işlem de başarılıysa
COMMIT edilir ve veriler kalıcı olur.
 İkinci lemde hesap bulunamadığı için işlem başarısız olur ve ROLLBACK
devreye girer. A kişisinden çekilen 500 TL de geri alınır, sistem eski haline döner.
Neden Önemlidir?
Veri tutarlılığını korur.
Yarım kalan işlemleri engeller.
Özellikle birden fazla tabloya yazma işlemi varsa vazgeçilmezdir.
󱟩󱟪󱟫󱟬󱟭󱟮󱟯󱟰 Açıklama:
BEGIN TRY: İşlemleri denemeye başlar.
BEGIN TRANSACTION: Transaction başlatılır.
İkinci UPDATE hatalı olduğu için CATCH bloğuna geçilir.
ROLLBACK işlemiyle önceki değişiklikler geri alınır.
ERROR_MESSAGE() fonksiyonu ile hata mesajı yazdırılır.
󱌰󱌱󱌲󱌳 Avantajları:
Kod daha güvenli hale gelir.
Olası hatalarda sistem eski haline döner.
Hatalar daha okunabilir ve kontrol edilebilir olur.
MSSQL DE SUBQUERIES (ALTSORGULAR)
MSSQLde alt sorgu (İngilizcesi: subquery) veritabanı sorgularında çok sık kullanılan
ve bir sorgunun içinde başka bir sorgu çalıştırmayı sağlayan güçlü bir yapıdır. Alt
sorgular sayesinde, daha dinamik ve şartlı veri çekimleri yapılabilir.
 Alt Sorgu Nedir?
Alt sorgu, başka bir sorgunun içinde yer alan SELECT ifadesidir. Genellikle şu
amaçlarla kullanılır:
Bir koşulu belirlemek
Bir sütunun değerini karşılaştırmak
Bir sonuç kümesi oluşturmak
 Alt Sorgu Nerelerde Kullanılır?
Alt sorgular üç yerde kullanılabilir:
1. WHERE içinde
2. FROM içinde
3. SELECT içinde
󱯆󱯇 Açıklama:
"Bilgisayar Programcılığı" bölümünün ID’sini alt sorgu bulur, dış sorgu o bölüme
kayıtlı öğrencileri getirir.
󱯆󱯇 Açıklama:
Alt sorgu her bölümdeki öğrenci sayısını bulur. Dış sorgu bu sayıları bölüm adlarıyla
leştirir.
󱯆󱯇Açıklama:
Her öğrencinin bölüm adını alt sorgu aracılığıyla getirir.
Dikkat Edilmesi Gerekenler
Alt sorgular performansı etkileyebilir. Karmaşık sorgularda JOIN kullanımı
daha verimli olabilir.
= operatörü yalnızca tek değer dönen alt sorgularda kullanılmalıdır.
Çoklu değer dönecekse IN, ANY, ALL gibi operatörler tercih edilmelidir.
MSSQL DECLARE
MSSQL'de DECLARE ifadesi, değişken tanımlamak için kullanılır. Programlama
dillerinde bir değişken tanımlamak ne anlama geliyorsa, SQL Server’da da DECLARE
ile aynı işi yapar: veri saklamak, üzerinde işlem yapmak ve sorgularda kullanmak.
 DECLARE Nedir?
DECLARE, SQL Server’da bir değişken oluşturmak için kullanılır.
Tanımlanan değişkene sonradan SET ya da SELECT ile değer atanabilir.
KULLANIM ÖRNEKLERİ
󰆅󰆆󰆇󰆈󰆉 Nerelerde Kullanılır?
Stored procedure içinde
Fonksiyonlarda
Karmaşık sorgularda geçici değer tutmak için
Döngülerde (WHILE) ve koşullarda (IF, CASE) kullanılır
MSSQL DE STORED PROCEDURE
MSSQL'de Stored Procedure (Saklı Yordam), önceden yazılmış ve veritabanında
saklanan SQL komutları bloğudur. Bu yordamlar çağrıldıklarında bir veya daha fazla
SQL işlemini çalıştırır.
 Stored Procedure Nedir?
Bir Stored Procedure, sık kullanılan SQL işlemlerini tekrar tekrar yazmak yerine, bir kere
tanımlanıp gerektiğinde çağrılmasını sağlar.
Tıpkı bir programlama dilindeki "fonksiyon" gibidir ama genellikle veritabanı işlemleri
(INSERT, UPDATE, DELETE, SELECT vb.) için kullanılır.
 Avantajları
Kod tekrarını azaltır
Bakımı kolaylaştırır
Güvenliği artırır (SQL injectiona karşı koruma)
Performansı artırır (derlenmiş halde saklanır)
Dikkat Edilecek Noktalar
Procedure adı sp_ ile başlamasa da olur, ama bu alışkanlıktır.
Parametrelerin veri türleri ve isimleri dikkatle tanımlanmalıdır.
İçinde BEGIN...END ile bloklar kullanılmalıdır.